今年想趁鐵人賽,花 30 天把最近一直遇到、卻沒有真正完整看過的 Agent 專案整理一輪。
這兩年 Agent Repo 越來越多。Codex、OpenCode、OpenClaw、HolmesGPT、oncall-kit,看起來都在做「讓模型使用工具完成任務」,實際往 Repo 裡看,設計差異卻比想像中大。
有些專案把大部分決策交給模型,有些在 runtime 用程式碼限制行為;有些把 SOP 寫成 Skill,有些透過 Tool schema、State、Approval 或 Human Gate 控制流程。Memory、Learning、Evaluation 這些詞也常出現在 README,但每個專案指的東西不一定相同。
所以,這 30 天不打算做一場 Agent Framework 排名,也不準備把每套框架都重新實作一次。
我比較想做的是:實際走進 Repo,看看不同專案怎麼回答一組相似的工程問題,再把一路看到的差異與疑問記錄下來。
例如:
這個 Agent 的主要 loop 怎麼跑?
Tool 是怎麼提供給模型的?
SOP / Skill 放在哪裡?
哪些事情由模型判斷,哪些由程式控制?
Context、State、Memory 怎麼處理?
失敗之後有沒有 Learning / Lesson 機制?
又有哪些方法在判斷 Agent 到底做得好不好?
中間也會穿插 τ²-bench、EvalScope,以及 Agent Evaluation 的研究,看看目前大家如何描述、觀察與比較這些系統。
不過,在打開第一個 Repo 之前,得先決定一件事:
面對這麼多都叫做 Agent 的專案,我到底想從裡面找什麼?
目前排進系列的專案包含:
anthropics/oncall-kit
HolmesGPT/holmesgpt
openai/codex
openai/codex-security
anthropics/commerce-agents
anomalyco/opencode
openclaw/openclaw
elie222/rakazo
can1357/oh-my-pi
Tencent/teamai-cli
vectorize-io/hindsight
這些 Repo 並不是同一種類型。有的是 Agent Harness,有的是完整應用,有的是針對特定領域整理出的 Domain Kit,也有些更接近 specialized workflow 或 reference implementation。
因此,每篇文章會先確認 Repo 的責任邊界,再觀察它怎麼處理 execution、tool、control、memory、learning、evaluation,以及使用者如何進入這套系統。
| 面向 | 我真正想知道的問題 |
|---|---|
| 1. Core Agent / Execution | 哪段程式讓 Agent「想、做、再想」?下一步由模型還是程式決定? |
| 2. Tool / Capability | Tool、MCP、Shell、Browser 或 API 的選擇與執行? |
| 3. Skill / SOP / Control | 「事情應該怎麼做」寫在哪裡?重要規則又由哪一層真正強制執行? |
| 4. Memory | 它怎麼維持多輪對話? |
| 5. Auto Learn | 被糾正或執行失敗之後,會不會真的改變下一次的行為? |
| 6. Evaluation | Repo 怎麼知道 Agent 做對了? |
| 7. User / Session / Interface | 不同使用者的對話如何分開?能否共享 group 或 project context? |
先找 Agent 的入口與主要迴圈:
Input
→ Model
→ Tool call
→ Tool result
→ 下一輪或結束
確認 Repo 是否自行管理這個流程,以及下一步由模型、固定 workflow,還是程式條件決定。
Tool 主要看三個位置:
Definition
→ Tool 與 schema 在哪裡定義?
Exposure
→ 哪些 Tool 會在這一輪提供給模型?
Execution
→ 誰驗證參數、權限與執行結果?
Prompt 要求模型「不要使用某個 Tool」,與 runtime 根本不提供該 Tool,是不同程度的控制。
找到 SOP 後,繼續確認它停在哪一層:
Prompt / Skill
→ 告訴模型應該怎麼做
Human Gate
→ 等待人工批准
Runtime Validator
→ 條件不符就拒絕執行
Backend Permission
→ API 或 Credential 本身沒有權限
Memory 主要分成三類:
Conversation History
→ 保存同一段對話
Structured State
→ 保存任務欄位與目前進度
Persistent Memory
→ 跨 session 保存偏好、經驗或知識
完整的 Learning 流程至少包含:
Correction / Failure
→ 擷取 Lesson
→ 持久化
→ 下一次取回
→ 改變後續行為
確認 Repo 做到了這條流程的哪一段。
這一項只簡單確認 Repo 是否包含:
Agent-level evaluation
一般軟體測試
Replay / regression
未發現
不在 Repo 的責任範圍
先確認主要入口:
CLI / TUI
Web / Desktop
API / SDK / IDE
Slack / Discord / Telegram
如果支援多人,再確認隔離與共享單位是 user、session、thread、project 還是 workspace。
這 30 天,我不想只沿著「這個 Framework 有哪些功能」往下寫。
打開每個 Repo 時,我會反覆問七件事:
誰在決定下一步?
它實際能做什麼?
SOP 寫在哪裡,又是誰能阻止它?
它記得什麼?
被糾正後,下一次真的會改嗎?
它怎麼知道自己做對了?
誰在使用、從哪裡進入,彼此共享到哪裡?
下一篇會從 2026 Findings of ACL 的 A Survey on Evaluation of LLM-based Agents 開始,看研究界如何整理 Agent 的能力、應用、Benchmark 與 Evaluation Framework,也確認這張 Repo 閱讀地圖還漏掉了什麼。
之後,再正式走進第一個 Repo:anthropics/oncall-kit。